//   1. 下载  yarn add axios  npm  i  axios
import axios from "axios";
//   2.生成 axios 对象, {}中进行配置
const request = axios.create({
   baseURL: '/api',   //配置了baseURL时，使用request 发请求是，会复用,请求地址将会是 beseURL + url
   timeout: 20000, //请求超时，超时时，就断接请求
//    headers: { }   设置请求头
});



// { interceptors(拦截器)   }


// 请求拦截器
request.interceptors.request.use(
    // 请求成功的回调函数
    (config)=>{
        return config
    },
    // 请求失败的回调函数
    ()=>{}
)



// 响应拦截器
request.interceptors.response.use(
    // 服务器响应成功的函数   response接收的是服务器返回来的数据   res
    (response) =>{
        if (response.data.code === 200 ){   //根据数据功能的code 判断是否是功能请求成了
            return response.data.data
        } else {
            alert (response.data.message)
            return Promise.reject(response.data.message)  // 返回一个失败的promise对象
        }
    },
    // 服务器响应失败执行的函数
    (error)=>{      
      alert(error);
      return Promise.reject(error);  // 返回一个失败的promise对象
    }
    )